// utils/openApp.js

/**
 * 打开Line应用
 * @param {string} lineId - Line ID，默认为 '@701jocrx'
 * @returns {Promise}
 */
export function openLineApp(lineId = '@701jocrx') {
  return new Promise((resolve, reject) => {
    // 检查是否在 App 环境
    if (typeof plus === 'undefined') {
      uni.showToast({
        title: '请在App环境中使用',
        icon: 'none'
      });
      reject(new Error('Not in app environment'));
      return;
    }
    
    const url = `https://line.me/ti/p/~${lineId}`;
    
    plus.runtime.openURL(url, (error) => {
      if (error) {
        console.log('打开Line失败:', error);
        uni.showToast({
          title: '无法打开Line应用',
          icon: 'none'
        });
        reject(error);
      } else {
        resolve();
      }
    });
  });
}

/**
 * 打开其他应用的通用方法
 * @param {string} url - 要打开的URL
 * @param {string} errorMessage - 错误提示信息
 * @returns {Promise}
 */
export function openExternalApp(url, errorMessage = '无法打开应用') {
  return new Promise((resolve, reject) => {
    if (typeof plus === 'undefined') {
      uni.showToast({
        title: '请在App环境中使用',
        icon: 'none'
      });
      reject(new Error('Not in app environment'));
      return;
    }
    
    plus.runtime.openURL(url, (error) => {
      if (error) {
        console.log('打开应用失败:', error);
        uni.showToast({
          title: errorMessage,
          icon: 'none'
        });
        reject(error);
      } else {
        resolve();
      }
    });
  });
}